The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Modern computer networks based on routers, switches and other infrastructure elements generally are reliable and can offer clients robust service. Consequently, end users have become less tolerant of failure and delay in network communication. Further, entities that make or lose money based upon the reliability of network equipment, such as those in the field of online commerce, are especially intolerant of network problems. Nevertheless, client devices are most adversely affected when a critical service goes down. Therefore, customers and network gear vendors are seeking ways to provide equipment that has greater fault tolerance.
Many services are provided in networks that use transport layer protocols, such as Transmission Control Protocol (TCP), for communications between clients, infrastructure elements such as routers, switches, and proxy devices, and servers. If TCP connections can be made more reliable, then services carried on the TCP connections will be inherently more resilient to failures. However, a significant challenge in providing fault-tolerant TCP service is to provide a way that a fully terminated TCP stream can migrate from one end node to another end node.